package com.xdb.sqlparser.ast.expr;

import com.xdb.sqlparser.ast.AbstractSQLExprImpl;
import com.xdb.sqlparser.visitor.SQLAstVisitor;

import static com.xdb.sqlparser.visitor.SQLEvalVisitor.EVAL_VALUE_NULL;

public class SQLNullExpr extends AbstractSQLExprImpl implements SQLLiteralExpr, SQLValuableExpr {

	public SQLNullExpr() {

	}

	public void output(StringBuffer buf) {
		buf.append("NULL");
	}

	protected void accept0(SQLAstVisitor visitor) {
		visitor.visit(this);

		visitor.endVisit(this);
	}

	public int hashCode() {
		return 0;
	}

	public boolean equals(Object o) {
		return o instanceof SQLNullExpr;
	}

	@Override
	public Object getValue() {
		return EVAL_VALUE_NULL;
	}
}
